<?php
/**
 * @link https://ym2.cleverstone.top
 * @copyright Copyright (c) 2020 Yii Manager Software LLC
 */

namespace extend\kdniao;

/**
 * 快递鸟基础服务
 * @auther clevstn
 * @since 2.0
 * @datetime 2023.11.18 14:45
 */
abstract class BaseRequest
{
    //API域名
    const API_DOMAIN = 'https://api.kdniao.com/';

    /**
     * 获取服务标题 如:物流轨迹查询
     * @return string
     */
    abstract public function getServiceName();

    /**
     * 获取服务请求地址 如:https://api.kdniao.com/api/dist
     * @return string
     */
    abstract public function getRequestUrl();

    /**
     * 获取服务请求参数
     * @return array
     */
    abstract public function getRequestParams();

    /**
     * 触发接口响应回调
     * @return void
     */
    abstract public function triggerResponseCallback(Kdniao $kdniao);

    /**
     * 创建实例对象
     * @return static
     */
    public static function createObject()
    {
        return new static();
    }
}